/* font.h */

#ifndef DODO_FONT_H
#define DODO_FONT_H

#include <cairomm/cairomm.h>

namespace dodo_plot
{

//available options:
//
//enum Cairo::FontSlant
//{ FONT_SLANT_NORMAL, FONT_SLANT_ITALIC, FONT_SLANT_OBLIQUE };
//enum Cairo::FontWeight
//{ FONT_WEIGHT_NORMAL, FONT_WEIGHT_BOLD };
//

class Font
{
public:
	inline Cairo::RefPtr<Cairo::ToyFontFace> font_face() const
	{
		return font_face_;
	}

public:
	Font(const std::string& family_name, 
		Cairo::FontSlant slant = Cairo::FONT_SLANT_NORMAL, 
		Cairo::FontWeight weight = Cairo::FONT_WEIGHT_NORMAL )
	{
		font_face_ = 
			Cairo::ToyFontFace::create(
				family_name,
				slant,
				weight
				);
	}

private:
	Cairo::RefPtr<Cairo::ToyFontFace> font_face_;
};

const Font FONT_COURIER = Font("courier");
const Font FONT_HELVETICA = Font("helvetica");
const Font FONT_TIMES = Font("times");
const Font FONT_DEFAULT = FONT_COURIER;
//common Family names:
//arial
//arial black
//bitstream charter
//bitstream vera sans
//bitstream vera sans mono
//bitstream vera serif
//courier 10 pitch
//courier new
//dejavu sans
//dejavu sans mono
//dejavu serif
//helvetica
//lucida
//times 
//times new roman
//symbol
}

#endif //DODO_FONT_H

